Today's data centers store ever-larger amounts of business critical data that must be immediately and continuously available, and highly reliable. Information technologists, storage managers, and administrators of storage systems work continuously to support the increasing software operating system, support, and management requirements of these growing systems. As the capacity, performance, and reliability of systems grows, operating system (OS) and application capabilities and requirements grow concomitantly. System specific OS and/or application upgrades are continually developed to operate, support, and manage the ever more complex systems.
Eventually, after many versions of OS and/or application upgrades have been developed, there are products distributed throughout the world that may have installed thereon one of many different versions the OS and/or applications. Therefore, when it is time to upgrade a product to a current version of OS and/or applications, the upgrade must transition the product from one of many possible old product configurations. It is inconvenient to require a separate product upgrade mechanism for each permutation of old product configuration to new product configuration.